﻿using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Web;
using Acaweb.Model.Entities;

namespace Acaweb.Servicios.Contracts
{
    [ServiceContract]
    public interface IRepresentantesService
    {
        [WebInvoke(Method = "POST", UriTemplate = "Create", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle=WebMessageBodyStyle.WrappedRequest)]
        [OperationContract]
        void Create(Representantes Representante);

        [WebInvoke(Method = "POST", UriTemplate = "GetAll", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Representantes> GetAll();

        [WebInvoke(Method = "POST", UriTemplate = "GetByFacultad", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Representantes> GetByFacultad(int Facultad);

        [WebInvoke(Method = "POST", UriTemplate = "GetDocente", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Representantes> GetDocente();

        [WebInvoke(Method = "POST", UriTemplate = "GetResult", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
        [OperationContract]
        Dictionary<Representantes, int> GetResult();
    }
}
